/**
 * 初始化表格的列
 */

var initColum = [ {
	title : '<input type="checkbox">',
	checkbox : true,
	formatter : function(value, row, index) {
		return {
			checked : false
		// 设置选中
		};
	}
}, {
	title : '序号',
	visible : false,
	formatter : function(value, row, index) {
		return index + 1;

	}
}, {
	field : 'jobName',
	title : ' 任务名称',
	align : 'center',
	valign : 'middle'
}, {
	field : 'jobGroup',
	title : ' 任务分组',
	align : 'center',
	visible : false,
	valign : 'middle'
}, {
	field : 'cron',
	title : ' cron表达式',
	align : 'center',
	valign : 'middle'
}, {
	field : 'startTime',
	title : '任务开始时间',
	align : 'center',
	valign : 'middle',
	formatter : function(value, row, index) {
		if (value == null) {
			return "";
		}
		return new Date(parseInt(value)).format("yyyy-MM-dd hh:mm:ss");
	}
}, {
	field : 'prevTime',
	title : '上次执行的时间',
	align : 'center',
	valign : 'middle',
	formatter : function(value, row, index) {
		if (value == null) {
			return "";
		}
		return new Date(parseInt(value)).format("yyyy-MM-dd hh:mm:ss");
	}
}, {
	field : 'nextTime',
	title : '下次执行的时间',
	align : 'center',
	valign : 'middle',
	formatter : function(value, row, index) {
		if (value == null) {
			return "";
		}
		return new Date(parseInt(value)).format("yyyy-MM-dd hh:mm:ss");
	}
}, {
	field : 'status',
	title : '状态',
	align : 'center',
	valign : 'middle',
	formatter : function(value, row, index) {
		var statusValue;
		if (value == "WAITING") {
			statusValue = "等待";
		} else if (value == "PAUSED") {
			statusValue = "暂停";
		} else if (value == "ACQUIRED") {
			statusValue = "正常执行 ";
		} else if (value == "BLOCKED") {
			statusValue = "阻塞 ";
		} else if (value == "ERROR") {
			statusValue = "错误 ";
		}
		return statusValue;
	}
}, {
	field : 'remark',
	title : ' 描述',
	align : 'center',
	valign : 'middle'
}, {
	field : 'id',
	title : 'ID',
	align : 'center',
	valign : 'middle',
	visible : false
} ];

$(function() {
	$('#table').bootstrapTable({
		columns : initColum,
		contentType : "application/x-www-form-urlencoded",
		pageSize : 6,
		toolbar : '#toolbar', // 搜索框绑定
		url : "/schedule/listData",
		uniqueId : 'id', // 绑定ID
		sidePagination : "server",
		singleSelect : true, // 单选checkbox
		striped : true,
		pageNumber : 1,
		clickToSelect : true,
		showColumns : true, // 是否显示所有的列
		showRefresh : true, // 是否显示刷新按钮
		queryParamsType : '',
		pagination : true
	});
});

function add() {
	layer.open({
		type : 2,
		title : "新增任务",
		shadeClose : true,
		offset : 15,
		shade : false,
		maxmin : true, // 开启最大化最小化按钮
		area : [ '893px', '450px' ],
		maxmin : true,
		content : '/schedule/add'
	});
}

function edit() {
	var selectContent = $('#table').bootstrapTable('getSelections');
	if (typeof (selectContent) == 'undefined') {
		BootstrapDialog.show({
			title : '提示',
			message : '请选择一列数据!'
		});
		return false;
	} else if (selectContent.length != 1) {
		BootstrapDialog.show({
			title : '提示',
			message : '请只选择一列数据!'
		});
		return false;
	} else {
		layer.open({
			type : 2,
			title : "修改服务清单",
			shadeClose : true,
			offset : 15,
			shade : false,
			maxmin : true, // 开启最大化最小化按钮
			area : [ '893px', '450px' ],
			maxmin : true,
			content : '/schedule/edit?jobName=' + selectContent[0].jobName
		});
	}
}
function del() {
	var selectContent = $('#table').bootstrapTable('getSelections');
	if (typeof (selectContent) == 'undefined') {
		BootstrapDialog.show({
			title : '提示',
			message : '请选择一列数据!'
		});
		return false;
	} else if (selectContent.length != 1) {
		BootstrapDialog.show({
			title : '提示',
			message : '请只选择一列数据!'
		});
		return false;
	} else {
		$.post("/schedule/delete", {
			jobName : selectContent[0].jobName
		}, function(data, status) {
			if (data == "ok") {
				var dialog = BootstrapDialog.show({
					title : '提示',
					message : "作废成功",
					buttons : [ {
						label : "确定",
						cssClass : "btn-primary", // 给按钮添加类名
						action : function(dialog) { // 给当前按钮添加点击事件
							$("#table").bootstrapTable('refresh');
							dialog.close();
						}
					} ]
				});
			} else {
				var dialog = BootstrapDialog.show({
					title : '提示',
					message : data,
					buttons : [ {
						label : "确定",
						cssClass : "btn-primary", // 给按钮添加类名
						action : function(dialog) { // 给当前按钮添加点击事件
							dialog.close();
						}
					} ]
				});
			}
		});
	}
}

function cancel() {
	var selectContent = $('#table').bootstrapTable('getSelections');
	if (typeof (selectContent) == 'undefined') {
		BootstrapDialog.show({
			title : '提示',
			message : '请选择一列数据!'
		});
		return false;
	} else if (selectContent.length != 1) {
		BootstrapDialog.show({
			title : '提示',
			message : '请只选择一列数据!'
		});
		return false;
	} else {
		$.post("/schedule/pause", {
			jobName : selectContent[0].jobName
		}, function(data, status) {
			if (data == "ok") {
				var dialog = BootstrapDialog.show({
					title : '提示',
					message : "禁用成功",
					buttons : [ {
						label : "确定",
						cssClass : "btn-primary", // 给按钮添加类名
						action : function(dialog) { // 给当前按钮添加点击事件
							$("#table").bootstrapTable('refresh');
							dialog.close();
						}
					} ]
				});
			} else {
				var dialog = BootstrapDialog.show({
					title : '提示',
					message : data,
					buttons : [ {
						label : "确定",
						cssClass : "btn-primary", // 给按钮添加类名
						action : function(dialog) { // 给当前按钮添加点击事件
							dialog.close();
						}
					} ]
				});
			}
		});

	}
}
function unCancel() {
	var selectContent = $('#table').bootstrapTable('getSelections');
	var selectContent = $('#table').bootstrapTable('getSelections');
	if (typeof (selectContent) == 'undefined') {
		BootstrapDialog.show({
			title : '提示',
			message : '请选择一列数据!'
		});
		return false;
	} else if (selectContent.length != 1) {
		BootstrapDialog.show({
			title : '提示',
			message : '请只选择一列数据!'
		});
		return false;
	} else {
		$.post("/schedule/renew", {
			jobName : selectContent[0].jobName
		}, function(data, status) {
			if (data == "ok") {
				var dialog = BootstrapDialog.show({
					title : '提示',
					message : "恢复成功",
					buttons : [ {
						label : "确定",
						cssClass : "btn-primary", // 给按钮添加类名
						action : function(dialog) { // 给当前按钮添加点击事件
							$("#table").bootstrapTable('refresh');
							dialog.close();
						}
					} ]
				});
			} else {
				var dialog = BootstrapDialog.show({
					title : '提示',
					message : data,
					buttons : [ {
						label : "确定",
						cssClass : "btn-primary", // 给按钮添加类名
						action : function(dialog) { // 给当前按钮添加点击事件
							dialog.close();
						}
					} ]
				});
			}
		});

	}
}
function doOnce() {
	var selectContent = $('#table').bootstrapTable('getSelections');
	var selectContent = $('#table').bootstrapTable('getSelections');
	if (typeof (selectContent) == 'undefined') {
		BootstrapDialog.show({
			title : '提示',
			message : '请选择一列数据!'
		});
		return false;
	} else if (selectContent.length != 1) {
		BootstrapDialog.show({
			title : '提示',
			message : '请只选择一列数据!'
		});
		return false;
	} else {
		$.post("/schedule/doOnce", {
			jobName : selectContent[0].jobName
		}, function(data, status) {
			if (data == "ok") {
				var dialog = BootstrapDialog.show({
					title : '提示',
					message : "正在执行",
					buttons : [ {
						label : "确定",
						cssClass : "btn-primary", // 给按钮添加类名
						action : function(dialog) { // 给当前按钮添加点击事件
							$("#table").bootstrapTable('refresh');
							dialog.close();
						}
					} ]
				});
			} else {
				var dialog = BootstrapDialog.show({
					title : '提示',
					message : data,
					buttons : [ {
						label : "确定",
						cssClass : "btn-primary", // 给按钮添加类名
						action : function(dialog) { // 给当前按钮添加点击事件
							dialog.close();
						}
					} ]
				});
			}
		});

	}
}
